Napomena: Ukoliko se tema radi u grupi, jedan kandidat može realizovati klijentsku stranu a drugi serversku stranu. Realizacija serverske strane može biti predmet master rada.
Napraviti veb aplikaciju koja prikazuje podatke na Google mapi. Aplikacija od serverske strane dobija skup podataka koje treba prikazati. Podaci koje treba prikazati su osnovni geografski podaci: tačke, linije i poligoni. Svi objekti imaju dodatne osobine vezane za prikaz:
Tačke imaju sliku ili ikonicu prikaza
Linije imaju boju, debljinu, stil ispisa (puna, isprekidana, tačkasta linija)...
Poligoni imaju boju, boju ivice, transparentnost boje površine...
Svi objekti imaju imena, opise, z-index, kao i neke meta podatke koje ih bliže opisuju. Ti meta podaci mogu biti ili neki dodatni tekst, HTML stranica, slika, Excel tabela...
Na mapama je broj podataka izuzetno veliki i nije neophodno prikazivati sve podatke na mapi. Na mapi se prikazuje samo deo podataka u zavisnosti od tekućeg zuma (na primer, ako je na mapi prikazan ceo Beograd, učitati samo autoput i nekoliko bulevara, zumiranjem na nivo opštine prikazati još neke ulice, a tek zumiranjem na nivo mesne zajednice prikazati sve ulice). Promenom zuma treba detektovati koja površinana mape je vidljiva u browser-u i taj podatak poslati serveru. Asinhroni poziv se salje na server (zahtev ima vidljivu oblast i nivo zuma) i kada odgovor stigne na klijenta, asinhrono se prikazuje na mapi. Ukoliko se promeni zum ili se promeni vidljiva oblast mape svi započeti asinhroni pozivi se prekidaju i iniciraju novi sa izmenjenim podacima u zahtevima. Klikom na neki od objekata asinhrono se pozivaju metode koje prikupljaju meta podatke o objektu i prikazuju ih u info prozoru iznad objekta na mapi. Aplikacija mora imati sledeće osobine:
Responsive dizajn
Aplikacija treba da bude hostovana na Tomcat serveru
Backend treba da bude realizovan u Javi, frontend u HTML-u i JavaScriptu
Preporučen je Spring MVC application framework
Koriste se Google Maps za prikaz mapa
Višejezična na srpskom i engleskom jeziku
Serverska strana treba da obezbedi API za čitanje georeferenciranih podataka iz GIS baze sa kriterijumima zadatih geografskih oblasti. Serverska strana treba da ima sledeće osobine:
Da bude realizovana u Java programskom jeziku
Da čuva podatke u nekoj od relacionih baza (preporuka PostgreSQL) koje imaju GIS ekstenziju
Svoje metode serverska strana otvara preko SOAP ili REST servisa
Treba da bude hostovana na Tomcat aplikativnom serveru